From 9fd1a1bbe30fba7a28877871da5b412db6f101c0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Wed, 5 Oct 2016 17:23:29 +0200 Subject: [PATCH] widget: Remove cursor-aspect-ratio/window-dragging style properties And replaces its usages in GtkTextView/GtkStyleContext with a hard-coded 0.04 which was the default value for cursor-aspect-ratio. Also remove the public gtk_draw_insertion_cursor which used draw_insertion_cursor which in turn looked up cursor-aspect-ratio --- gtk/gtkstylecontext.c | 49 ++----------------------------------- gtk/gtkstylecontext.h | 7 ------ gtk/gtkwidget.c | 7 ------ gtk/gtkwindow.c | 11 ++++----- testsuite/gtk/cssprovider.c | 8 +++--- 5 files changed, 11 insertions(+), 71 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 1989056cff..00c597e0ce 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -123,6 +123,7 @@ * %GTK_STYLE_PROVIDER_PRIORITY_USER priority. */ +#define CURSOR_ASPECT_RATIO (0.04) typedef struct PropertyValue PropertyValue; struct PropertyValue @@ -2766,7 +2767,6 @@ draw_insertion_cursor (GtkStyleContext *context, { GdkRGBA primary_color; GdkRGBA secondary_color; - gfloat cursor_aspect_ratio; gint stem_width; gint offset; @@ -2780,11 +2780,7 @@ draw_insertion_cursor (GtkStyleContext *context, * propagate the changes to gtktextview.c:text_window_invalidate_cursors(). */ - gtk_style_context_get_style (context, - "cursor-aspect-ratio", &cursor_aspect_ratio, - NULL); - - stem_width = height * cursor_aspect_ratio + 1; + stem_width = height * CURSOR_ASPECT_RATIO + 1; /* put (stem_width % 2) on the proper side of the cursor */ if (direction == PANGO_DIRECTION_LTR) @@ -2916,47 +2912,6 @@ gtk_render_insertion_cursor (GtkStyleContext *context, } } -/** - * gtk_draw_insertion_cursor: - * @widget: a #GtkWidget - * @cr: cairo context to draw to - * @location: location where to draw the cursor (@location->width is ignored) - * @is_primary: if the cursor should be the primary cursor color. - * @direction: whether the cursor is left-to-right or - * right-to-left. Should never be #GTK_TEXT_DIR_NONE - * @draw_arrow: %TRUE to draw a directional arrow on the - * cursor. Should be %FALSE unless the cursor is split. - * - * Draws a text caret on @cr at @location. This is not a style function - * but merely a convenience function for drawing the standard cursor shape. - * - * Since: 3.0 - * Deprecated: 3.4: Use gtk_render_insertion_cursor() instead. - */ -void -gtk_draw_insertion_cursor (GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *location, - gboolean is_primary, - GtkTextDirection direction, - gboolean draw_arrow) -{ - GtkStyleContext *context; - - g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (cr != NULL); - g_return_if_fail (location != NULL); - g_return_if_fail (direction != GTK_TEXT_DIR_NONE); - - context = gtk_widget_get_style_context (widget); - - draw_insertion_cursor (context, cr, - location->x, location->y, location->height, - is_primary, - (direction == GTK_TEXT_DIR_RTL) ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR, - draw_arrow); -} - /** * gtk_style_context_get_change: * @context: the context to query diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index f6838bb3eb..48875a52fc 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -1237,13 +1237,6 @@ void gtk_render_insertion_cursor PangoLayout *layout, int index, PangoDirection direction); -GDK_DEPRECATED_IN_3_4 -void gtk_draw_insertion_cursor (GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *location, - gboolean is_primary, - GtkTextDirection direction, - gboolean draw_arrow); typedef enum { GTK_STYLE_CONTEXT_PRINT_NONE = 0, diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 32c5fa8af6..04075be200 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3268,13 +3268,6 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_TYPE_WIDGET_HELP_TYPE, GTK_WIDGET_HELP_WHATS_THIS); - gtk_widget_class_install_style_property (klass, - g_param_spec_boolean ("window-dragging", - P_("Window dragging"), - P_("Whether windows can be dragged and maximized by clicking on empty areas"), - FALSE, - GTK_PARAM_READABLE)); - gtk_widget_class_set_accessible_type (klass, GTK_TYPE_WIDGET_ACCESSIBLE); gtk_widget_class_set_css_name (klass, "widget"); } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index f47a50ad4a..8e2875fadc 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1435,7 +1435,9 @@ multipress_gesture_pressed_cb (GtkGestureMultiPress *gesture, { case GTK_WINDOW_REGION_CONTENT: if (event_widget != widget) - gtk_widget_style_get (event_widget, "window-dragging", &window_drag, NULL); + { + /* TODO: Have some way of enabling/disabling window-dragging on random widgets */ + } if (!window_drag) { @@ -1484,8 +1486,7 @@ drag_gesture_begin_cb (GtkGestureDrag *gesture, { GdkEventSequence *sequence; GtkWindowRegion region; - GtkWidget *event_widget; - gboolean widget_drag; + gboolean widget_drag = FALSE; const GdkEvent *event; sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture)); @@ -1502,9 +1503,7 @@ drag_gesture_begin_cb (GtkGestureDrag *gesture, /* Claim it */ break; case GTK_WINDOW_REGION_CONTENT: - event_widget = gtk_get_event_widget ((GdkEvent *) event); - - gtk_widget_style_get (event_widget, "window-dragging", &widget_drag, NULL); + /* TODO: Have some way of enabling/disabling window-dragging on random widgets */ if (!widget_drag) gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_DENIED); diff --git a/testsuite/gtk/cssprovider.c b/testsuite/gtk/cssprovider.c index 8510784fdb..d3606bfe3a 100644 --- a/testsuite/gtk/cssprovider.c +++ b/testsuite/gtk/cssprovider.c @@ -33,13 +33,13 @@ test_section_in_style_property (void) provider = gtk_css_provider_new (); g_signal_connect (provider, "parsing-error", G_CALLBACK (assert_section_is_not_null), NULL); - gtk_css_provider_load_from_data (provider, "* { -GtkWidget-window-dragging: random garbage goes here; }", -1, NULL); + gtk_css_provider_load_from_data (provider, "* { -GtkEntry-invisible-char: random garbage goes here; }", -1, NULL); - widget_class = g_type_class_ref (GTK_TYPE_WIDGET); - pspec = gtk_widget_class_find_style_property (widget_class, "window-dragging"); + widget_class = g_type_class_ref (GTK_TYPE_ENTRY); + pspec = gtk_widget_class_find_style_property (widget_class, "invisible-char"); g_assert (pspec); path = gtk_widget_path_new (); - gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); + gtk_widget_path_append_type (path, GTK_TYPE_ENTRY); G_GNUC_BEGIN_IGNORE_DEPRECATIONS; gtk_style_provider_get_style_property (GTK_STYLE_PROVIDER (provider), path, 0, pspec, &value); -- 2.30.2